package com.xbs.utils;

import java.sql.Date;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;



/**
 * 企业需要的常用操作
 * @author Administrator
 *
 */
public class EnterpriseUtils {
	/**
	 * 生成企业订单编号企业账号+日期
	 */
	public String getEnterpriseAccount(String enterId){
		Date d=new Date(System.currentTimeMillis());
		SimpleDateFormat sf=new SimpleDateFormat("yyyyMMddhhmss");
		return enterId+sf.format(d);
	}
	/**
	 * 将数组的值通过实体类主码整合到一系列实体类中
	 * @param <T>
	 * @param <V>
	 */
	public <T, V> List<T> mergerEntityandArray(String[] key,List<T> entites,V[] values,EntityPrimaryKey primary){
			//1.遍历传入的主码数组
			//2.将主码值和实体类集合的主码值进行一一比对,找出对应的实体类
			//3.将相对应的数组值赋值到对象的实体类
			//4.返回实体对象
			for(int i=0;i<key.length;i++){
				for(int j=0;j<entites.size();j++){
					if(primary.equals(key[i], entites.get(j))){
						primary.putInEntity(entites.get(j), values[i]);
					}
				}
			}
		
		
		return null;
	}
	/**
	 *返回今天的日期，格式为yyyy-mm-dd
	 */
	public String getSimpleDate(){
		Date d=new Date(System.currentTimeMillis());
		SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
		return sf.format(d);
	}
	/**
	 * 求两个日期之间的天数
	 */
	public int daysBetween(Date startdate,Date enddate){
		Calendar cal=Calendar.getInstance();
		Calendar cal1=Calendar.getInstance();
		cal.setTime(startdate);
		cal1.setTime(enddate);
		Long l=cal1.getTimeInMillis()-cal.getTimeInMillis();
		return Integer.parseInt(String.valueOf(l/(1000*60*60*24)));
	}
	/**
	 * 返回今天的日期格式为yyyy-MM-dd hh:mm:ss
	 */
	public String getDateTime(){
		Timestamp time=new Timestamp(System.currentTimeMillis());
		SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		return sf.format(time);
	}
}
